import axios from 'axios'
import router from '../router'
import { getToken } from '@/utils/auth.js'
import proxy from '../config/host';

const env = import.meta.env.MODE || 'development';

const API_HOST = env === 'mock' ? '/' : proxy[env].API
const service = axios.create({
  baseURL: API_HOST,
  timeout: 50000 // request timeout
})
// 请求拦截器
service.interceptors.request.use(
  config => {
    // 在发送请求之前统一配置token令牌
    // 是否需要设置 token
    const isToken = (config.headers || {}).isToken === false;
    if (getToken() && !isToken) {
      // config.headers.Authorization = 'Bearer ' + token // 让每个请求携带自定义token 请根据实际情况自行修改
      config.headers.Authorization = `Bearer ${  getToken()}`;
    } else {
      router.push('/login')
      // router.push('/vadmin/account')
    }
    return config
  },
  error => Promise.reject(error))

// 响应拦截器
service.interceptors.response.use((response) => {
  // 对响应数据做点什么
  response = response.data
  // 响应
  // if (response.meta.status === 401) {
  //   router.push('/login')
  // }
  return response
}, (error) => Promise.reject(error))
export default service
